// 用于建立前后端连接的WS服务器
const WebSocket = require('ws');
// 创建测试的WS服务器，并将服务器绑定到20004
const testServer = new WebSocket.Server({ port: 20004 })

const testMessage =  {
    // 设备
    equipment: 'lightInfrared',
    // 目标个数
    dim3TargetSum : 3,
    // 目标信息
    dim3TargetInfo: [{
        // 目标类别
        Type: null,
        // 目标预留
        Reserve: null,
        // 目标经度
        Longitude: 1,
        // 目标纬度
        Latitude: 2,
        // 目标高度
        Height: 3,
        // 目标时间
        Time: null,
        // 目标航迹号
        Track: null
    },{
        // 目标类别
        Type: null,
        // 目标预留
        Reserve: null,
        // 目标经度
        Longitude: 4,
        // 目标纬度
        Latitude: 5,
        // 目标高度
        Height: 6,
        // 目标时间
        Time: null,
        // 目标航迹号
        Track: null
    },{
        // 目标类别
        Type: null,
        // 目标预留
        Reserve: null,
        // 目标经度
        Longitude: 7,
        // 目标纬度
        Latitude: 8,
        // 目标高度
        Height: 9,
        // 目标时间
        Time: null,
        // 目标航迹号
        Track: null
    }],
}

function beginWSServer() {
    testServer.on('connection', (ws) => {console.log(`测试专用WS服务器连接成功，端口号20004`)})
    console.log('测试专用WS服务器建立成功 ws://127.0.0.1:20004')
}
function sendMessage(message = []) {
    if (!testServer)
        throw new Error('测试专用WS服务器还没有建立，无法通讯');
    // 向所有连接的客户端发送消息
    testServer.clients.forEach((client) => {
        if (client.readyState === WebSocket.OPEN) {
            const messageString = JSON.stringify(testMessage);
            // console.log(messageString)
            console.log('消息发送成功')
            client.send(messageString, (error) => {
                if (error) {
                    console.error('Send error:', error)
                }
            });
        }
    });
}
beginWSServer()
setInterval(() => {
    sendMessage()
} , 1000)
module.exports = {
    beginWSServer,
    sendMessage
}